package com.igoal.utils;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Annotation class used in model converter.
 * @author Khoi Pham
 * @version 1.0
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface SynchronizeAttributeWithOther {
	/**
	 * Declare an entity's attribute.
	 * @return boolean string declare entity attribute
	 */
	String value() default ""; 
	
	/**
	 * Declare a direction of this attribute's mapping.<br> 
	 * FROM => This method will be executed when mapping values from 
	 * other object to current <br>
	 * TO => This method will be executed when convert values from 
	 * current to another <br>
	 *  
	 * @return
	 */
	SynchronizeDirection direction() default SynchronizeDirection.FROM;

}
